#define _CRT_SECURE_NO_WARNINGS 1
#pragma warning(disable:6031)

//#include "stack.h"
//#include <vector>
//int main()
//{
//	deque<int> d(2, 3);
//	bite::stack<int> st(d);
//	st.push(4);
//	st.push(5);
//	while (!st.empty())
//	{
//		cout << st.top() << " ";
//		st.pop();
//	}
//	cout << endl;
//
//	deque<int> dq(4, 9);
//	bite::stack<int> s(dq);
//	s.swap(st);
//	while (!st.empty())
//	{
//		cout << st.top() << " ";
//		st.pop();
//	}
//	cout << endl;
//
//	vector<double> v(5,2.2);
//
//	bite::stack<double,vector<double>> t(v);
//	while (!t.empty())
//	{
//		cout << t.top() << " ";
//		t.pop();
//	}
//
//	return 0;
//}
//#include "queue.h"
//#include <list>
//int main()
//{
//	list<string> l(2, "apple");
//	bite::queue<string, list<string>> q(l);
//	q.push("banana");
//	q.push("grep");
//	q.push("orange");
//	while (!q.empty())
//	{
//		cout << q.front() << " ";
//		q.pop();
//	}
//	cout << endl;
//
//	bite::queue<string, list<string>> sq;
//	sq.push("i");
//	sq.push("love");
//	sq.push("learning");
//	sq.push("C++");
//
//
//	sq.swap(q);
//	while (!q.empty())
//	{
//		cout << q.front() << " ";
//		q.pop();
//	}
//	cout << endl;
//
//	return 0;
//}

#include "priority_queue.h"
#include <vector>
int main()
{
	vector<int> v(1, 1);
	v.push_back(4);
	v.push_back(6);
	v.push_back(8);
	v.push_back(20);

	bite::priority_queue<int> p_q(v);
	cout << p_q.top() << endl;
	cout << p_q.size() << endl;

	bite::priority_queue<int> pq(v.begin(),v.end());
	pq.push(1);
	pq.push(2);
	pq.push(3);
	pq.push(4);
	pq.push(4);
	pq.push(66);
	cout << pq.top() << endl;
	bite::priority_queue<int> q;
	q.swap(pq);
	cout << q.top() << endl;
	while (!q.empty())
	{
		cout << q.top() << " ";
		q.pop();
	}
	
	return 0;
}


